﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using LevenBlog.Core.Reflection;

namespace LevenBlog.Core.Entities
{
    public static class EntityFactory
    {
        public static EType CreateInstance<EType>() where EType : IEntity, new() {
            //Type type = typeof(EType);
            //object result;
            //switch (type.Name)
            //{
            //    case "lb_archive":
            //        result = new lb_archive();
            //        break;
            //    case "lb_blog":
            //        result = new lb_blog();
            //        break;
            //    case "lb_category":
            //        result = new lb_category();
            //        break;
            //    case "lb_comment":
            //        result = new lb_comment();
            //        break;
            //    case "lb_config":
            //        result = new lb_config();
            //        break;
            //    case "lb_file":
            //        result = new lb_file();
            //        break;
            //    case "lb_image":
            //        result = new lb_image();
            //        break;
            //    case "lb_imagetype":
            //        result = new lb_imagetype();
            //        break;
            //    case "lb_log":
            //        result = new lb_log();
            //        break;
            //    case "lb_state":
            //        result = new lb_state();
            //        break;
            //    case "lb_tag":
            //        result = new lb_tag();
            //        break;
            //    case "lb_track":
            //        result = new lb_track();
            //        break;
            //    case "lb_user":
            //        result = new lb_user();
            //        break;
            //    case "lb_userinfo":
            //        result = new lb_userinfo();
            //        break;
            //    case "lb_usertype":
            //        result = new lb_usertype();
            //        break;
            //    case "lb_visiter":
            //        result = new lb_visiter();
            //        break;
            //    default:
            //        result = Activator.CreateInstance<EType>();
            //        break;
            //}
            //return (EType)result;
            //return (EType)typeof(EType).LambdaCreate();
            return new EType();
        }
    }
}
